<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>装修</title>
</head>
<body>
<script>
    function House(){
        this.addr="西山公园1号碧海蓝天VIP8栋";
        this.zhuangXiu=function(visitor){
            visitor.doThing("钥匙",this.addr);
        }
    }
    function Visitor(type){
        this.type=type;
        this.doThing=function(a,addr){
            console.log(`
            我是${this.type}工人，我来到了${addr}
            我拿到了${a}
            我进行装修
            `);
        }
    }
    var house=new House();

    var mug=new Visitor("木工");
    mug.doThing=function(a,addr){
        console.log(`
        我是${this.type}工人，我开着玛莎拉蒂来到${addr}
        我拿到了${a}和balabala,闲杂人等，非请勿进
        `);
    }

    house.zhuangXiu(new Visitor("水电工"));
    house.zhuangXiu(mug);
    house.zhuangXiu(new Visitor("油漆工"));
    house.zhuangXiu(new Visitor("泥工"));

    /*老张开车去东北，撞了
    * 碰到一个东北人，送到医院缝五针，好了
    *
    *
    * 经验：名词要么是对象，要么是属性
    *       动词一定是方法
    *
    * */
    laoZhang={
        name:"老张",
        kaiche:function(car,target){
            car.go(target);
        }
    }
    dongBei={
        name:"中国的东北地区"
    }
    hospital={
        fengZhen:function(ren){
            console.log(`
            这是一家有良心的医院，我们包治百病，给${ren.name}缝了五针
            `)
        }
    }
    dongBeiRen={
        sendToHospital:function(ren){
            console.log(`
            我是一个东北人，东北人都是活雷锋，我送${ren.name}去医院
            `)
            return ren;
        }
    }
    car={
        go:function(target){
            console.log(`我是一辆玛莎拉蒂，我现在要去${target.name}
            发生了车祸`);
        }
    }

    laoZhang.kaiche(car,dongBei);
    var ren=dongBeiRen.sendToHospital(laoZhang);
    hospital.fengZhen(ren);
</script>
</body>
</html>